![]() Method of obtaining vibrational properties of robot arm
专利摘要:
A method and robot controller configured to obtain an inertia-vibration model of the robot arm. The inertia-vibration model defines a relationship between the inertia of the robot arm and the vibrational properties of said robot arm and have been by setting the robot arm in a plurality of different physical configurations and for each of said physical configurations of said robot arm obtaining the vibrational properties and the inertia the robot arm. The inertiavibration model makes it possible to in a simple and efficient way to obtain the vibrational properties of different physical configurations of the robot arm whereby the robot arm can be controlled according to the vibrational properties of the robot arm. This makes it possible to reduce the vibrations of the robot arm during movement of the robot arm. 公开号:DK201901558A1 申请号:DKP201901558 申请日:2019-12-29 公开日:2021-07-05 发明作者:Kielsholm Thomsen Dan 申请人:Universal Robots As; IPC主号:
专利说明:
[0001] [0001] The present invention relates to methods and robot controllers for controlling a robot arm comprising a plurality of robot joints connecting a robot base and a robot tool flange.BACKGROUND OF THE INVENTION [0002] [0002] Robot arms comprising a plurality of robot joints and links where motors or actuators can move parts of the robot arm in relation to each other are known in the field of robotics. Typically, the robot arm comprises a robot base which serves as a mounting base for the robot arm; and a robot tool flange where to various tools can be attached. A robot controller is configured to control the robot joints in order to move the robot tool flange in relation to the base. For instance, in order to instruct the robot arm to carry out a number of working instructions. The robot joints may be rotational robot joints configured to rotate parts of the robot arm in relation to each other, prismatic joints configured to translate parts of the robot arm in relation to each other and/or any other kind of robot joints configured to move parts of the robot arm in relation to each other. [0003] [0003] Typically, the robot controller is configured to control the robot joints based on a dynamic model of the robot arm, where the dynamic model defines a relationship between the forces acting on the robot arm and the resulting accelerations of the robot arm. Often, the dynamic model comprises a kinematic model of the robot arm, knowledge about inertia of the robot arm and other parameters influencing the movements of the robot arm. The kinematic model defines a relationship between the different parts of the robot arm and may comprise information of the robot arm such as, length, size of the joints and links and can for instance be described by Denavit-Hartenberg parameters or like. The dynamic model makes it possible for the controller to determine which torques and/or forces the joint motors or actuators shall provide in order 1 [0004] [0004] Robot arms need to be programmed by a user or a robot integrator which defines various instructions for the robot arm, such as predefined moving patterns and working instructions such as gripping, waiting, releasing, screwing instructions. The instruction can be based on various sensors or input signals which typically provide a triggering signal used to stop or start at a given instruction. The triggering signals can be provided by various indicators, such as safety curtains, vision systems, position indicators, etc. [0005] [0005] Typically, it is possible to attach various end effectors to the robot tool flange or other parts of the robot arm, such as grippers, vacuum grippers, magnetic grippers, screwing machines, welding equipment, dispensing systems, visual systems etc. [0006] [0006] A collaborative robot is a robot designed for direct interaction with a human. Light-weight design is one of the main concerns, when a robot is designed to be collaborative. This is to reduce the impact in a potential collision with a human or an obstacle. Thus the design will be a compromise between low mass and high rigidity. Light-weight design is a major goal in current development of robots, cranes, and automotive industry, just to name a few. A light-weight design is motivated by for example increased performance, increased safety, reduced environmental footprint, reduced energy consumption, and reduced price. A light-weight design will feature an increased amount of mechanical flexibility, compared to the traditional heavy and rigid industrial robots, which are often based on a cast iron design. [0007] [0007] Robots with mechanical flexibility pose a challenge in terms of performance. For example, when rapid point-to-point motions are desired, and mechanical vibrations are not acceptable. Therefore, it is desired to suppress mechanical vibrations in robot arms. This can for instance be achieved by utilizing input shaping methods, which slightly modify the target motion of the robotarm, by intelligently adding a time-delay. The modified(shaped) trajectory will reduce the amount of vibrations at the critical natural frequencies of the system. [0008] [0008] WO19012040A1 and corresponding scientific articles {xi.} {xii.} discloses a method for generating inputs to a physical system with varying dynamic properties, which can be used to suppress the mechanical vibrations of a robot arm. The control signals to the robot arm are generated based on the dynamic properties of the physical system which for instance can be obtained based on dynamic modeling of the physical system, lookup tables containing dynamic properties of the physical system, measurements of parts of the physical system, or a combination of the aforementioned. In order to provide an efficient vibration suppression of the robot arm accurate dynamic properties of the robot arm at various poses must be available for the possible poses of the robot arm, where a pose of the robot arm characterizes the position and orientation of the different parts of the robot arm, for instance in form of the positions of the robot joints such as joint angles of the robot joints. This can be achieved by arranging the robot arm in the possible poses and obtain the dynamic properties of the robot arm in a given pose, for instance by performing measurements of the robot arm’s damping and eigenfrequencies at the current pose. This is a very complicated process which requires measurement of eigenfrequencies and damping of robot arm at huge number of different configurations of the robot arm, as a typical robot arm cam be arrange in nearly infinite amount of pose due to the fine resolution of the robot joints; this is very time consuming. Additionally, the huge number of measured data makes it difficult to evaluate the dynamic properties in real-time. References {i.} P.H. Chang, H.-S. Park, Time-varying input shaping technique applied to vibration reduction of an industrial robot, Control Engineering Practice 13 (1) (2005) 121-130 http://dx.doi.org/10.1016/j.conengprac.2004.02.009 {ii.} T. D. Tuttle, Understanding and modeling the behavior of a harmonic drive gear transmission, Tech. rep., Massachusetts Inst of Tech Cambridge Artificial Intelligence Lab (1992) {iii.} H. Zhang, S. Ahmad, G. Liu, Modeling of torsional compliance and hysteresis behaviors in harmonic drives, IEEE/ASME Transactions on Mechatronics 20 (1) (2015) 178-185 3 [0009] [0009] The object of the present invention is to address the above described limitations with the prior art or other problems of the prior art. This is achieved by the method and robot controller according to the independent claims where an inertia-vibration model of the robot arm can be obtained. The inertia-vibration model defines a relationship between the inertia of the robot arm and the vibrational properties of said robot arm and can be obtained based on an inertia-vibration model of the robot arm, where the inertia-vibration model of the robot arm has been obtained by setting the robot arm in a plurality of different physical configurations and for each of said physical configurations of said robot arm obtaining the vibrational properties and the inertia the robot arm. The inertia-vibration model makes it possible to in a simple and efficient way to obtain the vibrational properties of different physical configurations of the robot arm whereby the robot arm can be controlled according to the vibrational properties of the robot arm. This makes it possible to reduce the vibrations of the robot arm during movement of the robot arm, for instance by utilizing input shaping methods. Additionally, the above described limitations with the prior art or other problems of the prior art are addressed by a method and robot arm according to the independent claims where the robot arm is controlled based on control signals generated based on a target motion for the robot arm and the vibrational properties of the robot arm; where vibrational properties of the robot arm are obtained based on an inertia-vibration model relating to the robot arm, wherein the inertia-vibrational properties model defines a relationship between the inertia of the robot arm and the vibrational properties of said robot arm. Controlling a robot arm based in an inertia- vibration model of the robot arm makes it possible to reduce the vibrations of the robot arm. Additionally, the method and robot controller according to the present invention makes it possible to obtain the vibrational properties of a robot 5 [0010] [0010] The present invention is described in view of exemplary embodiments only intended to illustrate the principles of the present invention. The skilled person will be able to provide several embodiments within the scope of the claims. Throughout the description, the reference numbers of similar elements providing similar effects have the same last two digits. Further it is to be understood that in the case that an embodiment comprises a plurality of the same features then only some of the features may be labeled by a reference number. [0011] [0011] Fig. 1 illustrates a robot arm 101 comprising a plurality of robot joints 102a, 102b, 102c, 102d, 102e, 102f connecting a robot base 103 and a robot tool flange 104. A base joint 102a is configured to rotate the robot arm around a base axis 105a (illustrated by a dashed dotted line) as illustrated by rotation arrow 106a; a shoulder joint 102b is configured to rotate the robot arm around a shoulder axis 105b (illustrated as a cross indicating the axis) as illustrated by rotation arrow 106b; an elbow joint 102c is configured to rotate the robot arm around an elbow axis 105c (illustrated as a cross indicating the axis) as illustrated by rotation arrow 106c; a first wrist joint 102d is configured to rotate the robot arm around a first wrist axis 105d (illustrated as a cross indicating the axis) as illustrated by rotation arrow 106d and a second wrist joint 102e is configured to rotate the robot arm around a second wrist axis 105e (illustrated by a dashed dotted line) as illustrated by rotation arrow 106e. Robot joint 102f is a robot tool joint comprising the robot tool flange 104, which is rotatable around a tool axis 105f (illustrated by a dashed dotted line) as illustrated by rotation arrow 106f. The illustrated robot arm is thus a six-axis robot arm with six degrees of freedom with six rotational robot joints, however it is noticed that the present invention can be provided in robot arms comprising less or more robot joints and also other types of robot joints such as prismatic robot joints providing a translation of parts of the robot arm for instance a linear translation. 8 [0012] [0012] A robot tool flange reference point 107 also known as a TCP (Tool Center Point) is indicated at the robot tool flange and defines the origin of a tool flange coordinate system defining three coordinate axes Xfiange, Yflange, Zflange. IN the illustrated embodiment the origin of the robot tool flange coordinate system has been arrange on the tool flange axis 105f with one axis (zrange) parallel with the tool flange axis and with the other axes Xrlange, Yrange parallel with the outer surface of the robot tool flange 104. Further a base reference point 108 is coincident with the origin of a robot base coordinate system defining three coordinate axes Xbase, Ybase, Zbase. In the illustrated embodiment the origin of the robot base coordinate system has been arrange on the base axis 105a with one axis (Zbase) parallel with the base axis 105a axis and with the other axes Xbase, Ybase parallel with at the bottom surface of the robot base. The direction of gravity 109 in relation the robot arm is also indicated by an arrow and it is to be understood the at robot arm can be arrange at any position and orientation in relation to gravity. [0013] [0013] The robot arm comprises at least one robot controller 110 configured to control the robot arm 101 and can be provided as a computer comprising in interface device 111 enabling a user to control and program the robot arm. The controller can be provided as an external device as illustrated in fig. 1 or as a device integrated into the robot arm or as a combination thereof. The interface device can for instance be provided as a teach pendent as known from the field of industrial robots which can communicate with the controller via wired or wireless communication protocols. The interface device can for instanced comprise a display 112 and a number of input devices 113 such as buttons, sliders, touchpads, joysticks, track balls, gesture recognition devices, keyboards, microphones etc. The display may be provided as a touch screen acting both as display and input device. The interface device can also be provided as an external device configured to communicate with the robot controller, for instance in form of smart phones, tablets, PCs, laptops etc. The interface device can be a teach pendent, a handle or a smartphone communicating wired or wireless with the robot controller. [0014] [0014] The robot tool flange 104 comprises a force-torque sensor 114 integrated into the robot tool flange 104 The force-torque sensor 114 provides 9 [0015] [0015] An acceleration sensor 115 is arranged at the robot tool joint 102f and is configured to sense the acceleration of the robot tool joint 102f and/or the acceleration of the robot tool flange 104. The acceleration sensor 115 provides an acceleration signal indicating the acceleration of the robot tool joint 102f and/or the acceleration of the robot tool flange 104. In the illustrated embodiment the acceleration sensor is integrated into the robot tool joint and is configured to indicate accelerations of the robot tool joint in the robot tool coordinate system. However, the acceleration sensor can indicate the acceleration of the robot tool joint in relation to any point which can be linked to the robot tool flange coordinate system. The acceleration sensor can be provided as any accelerometer capable of indicating the accelerations of an object. The acceleration sensor can for instance be provided as an IMU (Inertial 10 [0016] [0016] Each of the robot joints comprises a robot joint body and an output flange rotatable or translatable in relation to the robot joint body and the output flange is connected to a neighbor robot joint either directly or via an arm section as known in the art. The robot joint comprises a joint motor configured to rotate or translate the output flange in relation to the robot joint body, for instance via a gearing or directly connected to the motor shaft. The robot joint body can for instance be formed as a joint housing and the joint motor can be arranged inside the joint housing and the output flange can extend out of the joint housing. Additionally, the robot joint comprises at least one joint sensor providing a sensor signal indicative of at least one of the following parameters: an angular and/or linear position of the output flange, an angular and/or linear position of the motor shaft of the joint motor, a motor current of the joint motor or an external force and/or torque trying to rotate the output flange or motor shaft. For instance, the angular position of the output flange can be indicated by an output encoder such as optical encoders, magnetic encoders which can indicate the angular position of the output flange in relation to the robot joint. Similarly, the angular position of the joint motor shaft can be provided by an input encoder such as optical encoders, magnetic encoders which can indicate the angular position of the motor shaft in relation to the robot joint. It is noted that both output encoders indicating the angular position of the output flange and input encoders indicating the angular position of the motor shaft can be provided, which in embodiments where a gearing have been provided makes it possible to determine a relationship between the input and output side of the gearing. The joint sensor can also be provided as a current sensor indicating the current through the joint motor and thus be used to obtain the torque provided by the motor. For instance, in connection with a multiphase motor, a plurality of current sensors can be provided in order to obtain the current through each of the phases of the multiphase motor. It is also noted that some of the robot joints may comprise a plurality of output flanges rotatable and/or translatable by joint 11 [0017] [0017] Fig 2 illustrates a simplified structural diagram of the robot arm illustrated in fig. 1. The robot joints 102a, 102b and 102f have been illustrated in structural form and the robot joints 102c, 102d, 102e and the robot links connecting the robot joints have been omitted for the sake of simplicity of the drawing. Further the robot joints are illustrated as separate elements however it is to be understood that they are interconnected either directly or via a robot link as illustrated in fig. 1. The robot joints comprise an output flange 216a, > 216b, 216f and a joint motor 217a, 217b, 217f or another kind of actuator, where the output flange 216a, 216b, 216f is rotatable in relation to the robot joint body. The joint motors 217a, 217b, 217f are respectively configured to rotate the output flanges 216a, 216b, 216f via an output axle 218a, 218b, 218f. It is to be understood that the joint motor or joint actuator may be configured to rotate the output flange via a transmission system such as a gear (not shown). In this embodiment the output flange 216f of the tool joint 123f constitutes the tool flange 104. At least one joint sensor 219a, 219b, 219f providing a sensor signal 220a, 220b, 220f indicative of at least one joint sensor parameter Jsensor,a, Jsensorb , Jsensort Of the respective joint. The joint sensor parameter can for instance indicate a pose parameter indicating the position and orientation of the output flange in relation to the robot joint body, an angular position of the output flange, an angular position of a shaft of the joint motor, a motor current of the joint motor. The joint sensor parameter is selected from the list comprising: 12 [0018] [0018] The robot controller 110 comprises a processer 221 and memory 222 and is configured to control the joint motors of the robot joints by providing motor control signals 223a, 223b, 223f to the joint motors. The motor control signals 223a, 223b, 223f are indicative of the motor torque Tmotor,a, Tmotor, b, and Tmotor,f that each joint motor shall provide to the output flanges and the robot controller is configured to determine the motor torque based on a dynamic model of the robot arm as known in the prior art. The dynamic model makes it possible for the controller to calculate which torque the joint motors shall provide to each of the joint motors to make the robot arm perform a desired movement. The dynamic model of the robot arm can be stored in the memory 222 and be adjusted based on the joint sensor parameters Jsensor,a, Jsensor,b , Jsensor,f For instance, the joint motors can be provided as multiphase electromotors and the robot controller can be configured to adjust the motor torque provided by the joint motors by regulating the current through the phases of the multiphase motors as known in the art of motor regulation. [0019] [0019] Robot tool joint 102f comprises the force-torque sensor 114 providing a tool flange force-torque signal 224 indicating a force-torque FTfiange provided to the tool flange. For instance, the force signal-torque FTriange Can be indicated as a force vector Flange ang a torque vector TJlenge in the robot tool flange coordinate system: Fl sensor eq. 1 = [12 Ff sensor 13 [0020] [0020] In an embodiment where the force sensor is provided as a combined force-torque sensor the force-torque sensor can additionally also provide a torque signal indicating the torque provide to the tool flange, for instance as a separate signal (not illustrated) or as a part of the force signal. The torque can be indicated as a torque vector in the robot tool flange coordinate system: 0 eq. 2 Thiset = [i TJ censor where T/2"9". is the indicated torque around the Xrange axis, T) inser is the indicated torque around the yrange axis and T/ ons is the indicated torque around the zrange axis. It is noted that the force vector and torque vector can be provided as separate signals and that a separate force sensor and/or torque sensor can be provided. [0021] [0021] Robot tool joint 102f may comprise the acceleration sensor 115 providing an acceleration signal 225 indicating the acceleration of the robot tool flange where the acceleration may be indicated in relation to the tool flange coordinate system 0 fuge eq. 3 Vid = [vz Wi sensor where AL'79° is the sensed acceleration along the Xmange axis, Alans is the sensed acceleration along the yrange axis and A£'9"9 js the sensed acceleration along the zaange axis. Also or alternatively, the acceleration sensor can be configured to measure the acceleration of the robot tool flange in relation to gravity and the acceleration measured acceleration in relation to gravity can be converted into accelerations in relation to he robot tool flange of robot base. [0022] [0022] In an embodiment where the acceleration sensor is provided as a combined accelerometer/gyrometer (e.g. an IMU) the acceleration sensor can additionally or alternatively provide an angular acceleration signal indicating the angular acceleration of the output flange in relation to the robot tool flange coordinate system, for instance as a separate signal (not illustrated) or as a part of the acceleration signal. The angular acceleration signal can indicate an angular acceleration vector flange in the robot tool flange coordinate system [afl eq. 4 Wenser = [+c af sensor where a/ ”9 is the angular acceleration around the Xnange axis, a/(%. is the angular acceleration around the yrange axis and af%"9% is the angular acceleration around the zaange axis. Also or alternatively, the acceleration sensor can be configured to measure the angular acceleration of the robot tool flange in relation to gravity and the angular acceleration measured in relation to gravity can be converted into angular accelerations in relation to the robot tool flange of robot base. [0023] [0023] The force sensor and acceleration sensor of the illustrated are arranged at the robot tool joint 102f; however, it is to be understood that the force sensor and acceleration sensor can be arrange at any part of the robot arm [0024] [0024] Fig. 3 illustrates a flow diagram of a method of obtaining the vibrational properties of a robot arm, like the robot arm 101 described previously. The method comprises a step 340 of setting the robot arm in a plurality of different physical configurations (Ci......Cn). The method comprises for each of the different physical configurations of the robot arm step 350 of obtaining the vibrational properties of the robot arm in relation to at least one robot joint and a step 370 of obtaining the inertia of the robot arm in relation to the at least one robot joint. In the illustrated embodiment step 340 of setting the robot arm in a plurality of different physical configurations comprises a step 15 [0025] [0025] A physical configuration of the robot arm characterizes the physical properties of the robot arm and different physical configurations are characterized in that the robot arm's physical appearance have been changed. For instance, the different physical configurations can be obtained by changing the pose of the robot arm or by changing other physical properties of the robot arm. The pose of the robot arm characterizes the position and orientation of the different parts of the robot arm, for instance in form of the positions of the robot joints such as joint angles of the robot joints. The pose of the robot arm can thus be change by moving one of the robot joints such that at least two parts of the robot arm are displaced in relation to each other. Further the pose of the robot arm can be changed by changing the orientation of the robot arm in relation to gravity for instance by mounting the robot base differently in relation to gravity. Further different configurations can be provided by changing physical properties of the robot arm by removing/adding a mass (payload) to a part of the robot arm by attaching various objects to the robot tool flange. Different physical configurations of the robot arm can also be provided by changing different parts of the robot arm, for instance changing length/weight of robot links. [0026] [0026] The vibrational properties of the robot arm in relation to at least one robot joint characterizes the dynamic response of the robot arm in response to forces/torques applied to the robot arm. Typically, such dynamic response is in form of mechanical vibrations of parts of the robot arm and the vibrational properties of the robot arm in relation to at least one robot joint can thus characterize how a part of the robot arm will move in response to an applied force. For instance, the vibrational properties can be obtained as a step response where a short impulse in form of a force/torque is applied to the robot arm and where movements of a part of the robot arm in response to the applied impulse are observed. Also, the vibrational properties can be obtained by applying a known sequence/pattern of force/torques to the robot arm and observe the movements of the part of the robot arm in response to the applied sequence. The vibrational properties can for instance be indicated as frequency spectrum analysis of the acceleration of a part of the robot arm, mode shapes characterizing deformation of a part the robot arm, parameters indicating eigenfrequencies and damping of the robot arm and transfer function indicating how a part of the robot arm dynamically behave in response to an applied force/torque. In the illustrated embodiment the vibration parameters at the robot arm in physical configuration Ci is indicated as the eigenfrequency wi and the damping G of the robot arm. [0027] [0027] The inertia Ji of the robot arm in relation to the at least one robot joint characterizes the robot arm’s resistance to change in velocity in relation to the at least one robot joint. The inertia of the robot arm can be obtained based on the physical configuration Ci of the robot arm and a kinematic model KoR of the robot arm. For instance, the inertia of the robot arm may be obtained based on the pose of the robot arm and the kinematic model of the robot arm, KoR, where the pose of the robot arm is used as an input to the kinematic model of the robot arm. In situations where the different physical configuration of the robot arm has been provided by the changing physical properties of the robot arm. the kinematic model of the robot arm needs to be change accordantly. [0028] [0028] The method comprises step 380 of obtaining an inertia-vibration model based on the vibration properties wi.....wn, C1..... Ch and the inertia Ji....Jn of the robot arm obtained for the plurality of different physical configurations of 17 [0029] [0029] Additionally, the inertia-vibration model of the robot arm can be obtained when the robot arm has been installed in the robot installation. Consequently, the influence of eternal objects connected to the robot arm on the vibrational properties of the robot arm will we included in the obtained inertia-vibration model. The external objects can be any objects connected to the robot arm such as wires, hoses, end effectors and/or the mounting element whereon the robot arm have been mounted. [0030] [0030] The inertia-vibration model may be embodied as a look-up table comprising a number of lookup points, where each lookup point comprises the inertia of the robot arm and corresponding vibrational properties of the robot arm. In connection with control of a robot arm the controller can for instance be adapted to identify the data set which has an inertia which is closest to the actual inertia of the robot arm and then control the robot arm based on the 18 [0031] [0031] The inertia-model may also be provided as an inertia-vibration function where the inputs to the function are the inertia of the robot arm where the output of the function is the vibrational properties of the robot arm. The inertia-vibration function can be derived based on the number of obtained inertia and vibration properties of the different physical configurations of the robot arm. For instance, the inertia-vibration function may be provided as a second order function. In the illustrated embodiment the inertia-vibration model is in step 380 provided as an eigenfrequency function w(J) and the damping function (J) respectively providing the eigenfrequency w and damping C of the robot arm as a function of the robot arm’s inertia J. However, it is to be understood that inertia-vibration function can be provided as any function characterizing the vibrations of the robot arm as a function of the inertia of the robot arm. [0032] [0032] Fig. 4 illustrates an embodiment of step 350 of obtaining the vibrational properties of the robot arm. Step 350 is performed when the robot arm has been arranged in a physical configuration and comprises a step 451 of exciting vibrations of the robot arm, a step 452 of obtaining at least one motion parameter of the robot arm and step 453 of obtaining the vibrational properties of the robot arm. [0033] [0033] Step 451 of exciting vibrations of the robot arm can be performed by applying a force or torque to the robot arm causing the robot arm to vibrate accordantly. The force or torque can for instance be applied using an external source for instance by hitting, pushing, pulling, vibrating the robot arm using an external force/torque generator. For instance, an external vibrating motor may be connected to the robot arm and configured to introduce the external force/torque. In one embodiment the force/torque is applied by activating the joint motor of one of the robot joints, hereby a force or torque is provided to 19 [0034] [0034] The joint motor can for instance be activated according to a predetermined activation function and/or sequence where the joint motor is activated according to a predetermined pattern. For instance, the joint motor may be instructed to perform movements around it's current position whereby vibrations is introduced at the robot joint and the robot arm can be considered kept in the same physical configuration. The vibrations can for instance be excited by a number of impulses, back and forth movements, random movements etc. The impulses can for instance instruct the joint motor to move instantaneously in different directions, back and forth movements can for instance be performed as trigonometric functions/circular functions such sine and cosine functions. In one embodiment sine/cosine functions can be performed as a frequency sweep where the frequency of the sine/cosine function changes over time, hereby it is possible to obtain the vibrational properties of the robot arm as a function of the introduced frequency. The vibrations of the robot arm can hereby be excited in relation to a first axis, where the first axis is defined by the motor axle of the joint motor. [0035] [0035] In one embodiment the first robot joint constitutes the robot joint closest to the robot base. This is beneficial as the robot joint closed to the robot base introduce the most dominant vibrations to the robot arm, consequently obtaining the inertia-vibration model based on the robot joint closest to the robot base ensures that dominant vibrational properties are incorporated into the inertia-vibration mode. 20 [0036] [0036] Step 452 of obtaining at least one motion parameter of the robot arm is performed upon exciting vibrations of the robot arm in step 451, meaning that step 452 is performed when the vibrations is being and/or has been introduced to the robot arm, whereby motion parameter of a part of the robot arm can be obtained. In other words, step 452 of obtaining the motion parameter can be initiated when step 451 of exciting the vibrations of the robot arm starts and thus performed simultaneously with step 451. Further the step of obtaining the motion parameters can be continued after the step 451 have ended as this makes it possible to obtain the motion parameters after the excitement of the robot arm have ended which for instance makes it possible to obtain damping properties of the robot arm. [0037] [0037] The obtained motion parameters can be any parameter characterizing the motion of a part of the robot arm or any parameter from which motion parameters can be obtained, for instance position, speed and/or acceleration of the part of the robot arm. The part of the robot arm of which the motion parameters are obtained can be any part of the robot arm of which the vibration properties of the robot arm are to be obtained. Typically, the part of the robot arm constitutes the part of the robot arm of which the vibrations shall be reduced using impulse shaping, for instance in one embodiment the part of the robot arm constitutes the robot tool flange as this is often the part that is desired to reduce the vibrations of. However, it is to be understood the it can be any part of the robot arm. [0038] [0038] The motion parameter can be obtained by using any sensor(s) capable of providing the motion parameter of the part of the robot arm, for instance the sensor(s) can be in form of building sensors provided at the robot arm, such as joint encoders capable of proving encoder signals indicating the angles of the robots joints, accelerometers sensing acceleration of a part of the robot. Also, the motion sensors can be external sensors such as cameras, 3D trackers or any other device capable of sensing motion of a part of the robot arm. For instance, in a robot arm as describe and illustrated in figs. 1 and 2 the motion parameters can be provided using the accelerometer 115 arrange at the robot tool joint 102f and the motion parameter can thus be provided as the acceleration Ai of the robot tool joint. 21 [0039] [0039] The step 453 of obtaining the vibrational properties of the robot arm in relation to the at least one robot joint based on the activation of the joint motor and the at least one motion parameter can be achieved by establishing a transfer function describing how the motions introduced by activation the robot joint motor transfers into motions of the part of the robot arm of which the motion parameter is obtained. The vibrational properties of the robot arm can then be extracted from the transfer function. In an ideally ridgid robot arm motions introduced by a robot joint motor will be transferred immediately into motions the robot arm and motion parameters at any part of the robot arm can be calculated based on the knowledge such at the kinematic of the physical configurations of the arm. However, due to flexibility of robot joints and robot links the motions will not be transferred instantaneously through the robot arm and also cause deviations for the ideally ridged robot arm. The transfer function can for instance describe these deviations and be used to extract the vibrational properties of the robot arm. [0040] [0040] In one embodiment the inertia-vibrational model is a 2" order transfer function. A 2" order transfer function provides a good estimate of the vibrational properties of the robot arm as a function the robot arm’s inertia as the robot arm can be model as a spring and damper system (as illustrated in fig. 10), which has second order vibrational properties. [0041] [0041] In one embodiment the vibrational properties of the robot arm can be obtained in relation to a first robot joint and in relation to a second robot joint and where the corresponding inertia of the robot arm are obtained in relation to the first joint and/or in relation to the second joint. This can for instance be achieved by repeating step 452 of exciting vibrations of the robot arm, step 452 of obtaining the motion parameters of the robot arm, step 453 of obtaining the vibrational properties for each of the first and second robot joint. This makes it possible to obtain the inertia-vibration model based on the obtained vibrational properties of the robot arm in relation to the first robot joint, the obtained vibrational properties of the robot arm in relation to the second robot joint, the obtained inertia of the robot arm in relation to the first robot joint and the obtained inertia of the robot arm in relation to the second robot joint. Consequently, a more robust and accurate inertia-vibration model can be 22 [0042] [0042] In one embodiment, the vibrational properties of the robot arm can be obtained in relation to an axis of movement of the first robot joint and the inertia of the robot arm can likewise be obtained in relation to the axis of movement of the first robot joint. Similarly, the vibrational properties of the robot arm can be obtained in relation to an axis of movement of the second robot joint and the inertia of the robot arm can be obtained in relation to the axis of movement of the second robot joint. This makes it possible to obtain the inertia-vibrational model based on the vibrational properties and inertia in relation to the axis of movements of the first and second robot joints. In a typical robot arm changes in relation to the axis of movement of the first and second robot joint as numbered from the robot base results in a large change in inertia of the entire robot as such changes results in a larger reconfiguration of the mass of the robot arm. Thus, in one embodiment the first robot joint and the second robot joint constitutes the two robot joints closest to the robot base. However, it is to be understood the first and second joint can refer to any of the robot joints of the robot arm. Further it is also possible to obtain the vibrational properties and corresponding inertia in relation to more than two robot joints and thereafter provide the inertia-vibrational robot based on the vibrational properties and corresponding inertia of the robot arm in relation to more than two robot joints. [0043] [0043] In one embodiment, the axis of movement of the first robot joint and the axis of movement of the second axis of the second robot joint are non- parallel in relation to each other. This ensures that changes of the first and second robot joint manipulates the robot arm differently whereby the vibrational properties can be obtained for a larger variety of physical configurations of the robot arm. For instance, the axis of movement of the first robot joint and the 23 [0044] [0044] As discussed in the background of the invention a successful implementation of input shaping of a robot arm depends on a reliable estimate of the natural frequencies and damping ratios of the robot arm. In the following paragraphs [0045]-[0087] a detailed description and an example of a method for obtaining an inertia-vibration model of the robot arm is described. The outcome is an inertia-vibration model of the robot arm of w, and € for two observed vibration modes in the robot arm. Fig 5 illustrates the step of obtaining the vibrational properties of the robot arm in a physical configuration. The method comprises the step 554 of obtaining tangential acceleration of the part of the robot arm and a step 561 of obtain a transfer function for the part of the robot arm 560. [0045] [0045] Complicated vibration modes are expected, when examining the structure of a robot arm like the robot arm illustrated in fig. 1 in an arbitrary configuration. The complicated dynamic system with continuously distributed mass, flexibility, and damping will be subject to a multitude of different vibration modes in all directions. However, it can be assumed that mechanical flexibility can be approximated as rotational flexibility in the robot joints, such that robot link flexibility is concatenated into the robot joint flexibility, resulting in an equivalent torsional stiffness. Attention should be drawn to the robot joints, that are closest to the robot base of the robot arm. [0046] [0046] There are three reasons, that the robot joints near the robot base have a large impact on the dynamic behavior of the robot arm: First an angular deflection near the robot base will result in large displacement of the robot tool flange, whereas an angular deflection in the one of the wrist joints of the robot arm will only result in minor tool displacement, 2) The robot joints near the robot base experience higher inertia, and thereby lower natural frequencies; and 3) The robot joints near the robot base experience higher load torques. [0047] [0047] Based on these observations, it is expected that a robot arm like the robot arm illustrated in fig. 1 will have its most dominant vibration modes as rotational modes around the base joint 102a and shoulder robot joint 102b. In one embodiment, the vibrations around the elbow joint 102c can also be considered as an individual vibration mode. However, in robot arms where the axes of the shoulder joint and elbow joint are parallel it can be expected that the flexibility of the parallel robot joints can also be seen included in one equivalent torsional stiffness. [0048] [0048] Consequently, it is assumed that vibrations of the robot arm can be approximated by two vibration modes: 1) Around the base joint, and 2) around the shoulder joint. [0049] [0049] It is known, that a typical industrial robot arm with 6 degrees of freedom (DOF) has configuration-dependent dynamic behavior. In other words, the robot arm is a complicated non-linear dynamic system, but it can be approximated as a linear dynamic system in a specific configuration. [0050] [0050] In a 6DOF robot arm, there are multiple contributions to the configuration-dependent behavior. Contributions include variations in payload, mass distribution, and control parameters, non-linear stiffness of gears and load-dependent friction, etc. Among these factors, it is expected, that mass distribution (system inertia) has the largest impact on configuration dependency of natural frequencies and damping. Chang and Park showed a near linear relationship between natural frequency around the base joint and horizontal distance to payload {i.}. According to an embodiment of the present invention the robot arm will be treated as a more nuanced configuration-dependent dynamic system will multiple physical time-varying behaviors taken into account. Obtaining vibrational properties of robot arm [0051] [0051] There are multiple ways to estimate the dynamics of a system, such as the vibrational properties of a robot arm. For system dynamics estimation, it is possible to use models, tables, measurements or a combination of aforementioned. Examples of different modeling approaches to dynamics 25 [0052] [0052] In an embodiment where the accelerometer measures the acceleration in a local accelerometer frame A, some post processing of the accelerometer measurements is needed before they can be used in for obtaining the vibrational properties of the robot arm. Consequently, in step 554 the tangential acceleration of a part of the robot arm is obtained based on the obtained acceleration of the part of the robot arm. Here it is desired to obtain an acceleration signal, that is expressed in the universal coordinate frame and without gravity. This can be obtained in step 555 by transforming the 3 x 1 raw accelerometer measurements v from the local accelerometer frame A to the global (universal) frame, U, as shown in eq. 5, where Ap is the accelerations represented in the local frame A of the accelerometer, vg is the accelerations in global frame U and YR is the rotation matrix of frame A obtained in step 556 as known in the art: eq. 5 vg = UR Ap eq. 6 Uy = Ug — (0 0 gf 26 [0053] [0053] The acceleration component y/ which describes the measured acceleration in the direction of interest, i.e. in the robot joint motion direction is performed in step 558 of projecting the acceleration into the direction of interest. When a robot joint accelerates, this results in an acceleration of the robot tool flange. This acceleration will be tangential to the resulting circular motion of the robot tool flange. Here, this acceleration is called the tangential acceleration, y/. If only one robot joint is moving, and mechanical flexibility is neglected, there is a linear relation between angular acceleration in the robot joint 4, and tangential acceleration of the robot tool flange i’. This makes y/ an interesting measure, because it allows for a lot of simplification, when estimating the vibrational properties of the robot arm. Also, any contributions from centrifugal or Coriolis accelerations can be disregarded by looking at the tangential acceleration instead of the magnitude of acceleration. This is advantageous. as centrifugal and Coriolis accelerations is a result of robot joint velocity 4, and not robot joint acceleration, 4. 27 [0054] [0054] The tangential acceleration y/ can be obtained based on the tangential direction of the acceleration. This direction is the partial derivative obtained in step 559 of the position of the accelerometer with respect to robot joint position Fa, which is also the j'" column of the 6 x 6 Jacobian matrix and [0055] [0055] Step 560 is a step of obtaining the vibrational properties of the robot arm based on a transfer function characterizing movements of a part of the robot arm as a result of the excitation of the robot arm. For instance, the transfer function can be established based on the considerations in the following paragraphs [0056]-[0063]. [0056] [0056] The robot arm can be thought of as a single link manipulator, when moving only one joint. Without loss of generalization, the accelerometer position P,, will move on a circular arc, when moving only one joint, like illustrated in fig. 28 [0057] [0057] It is assumed, that the local dynamics can be described by a transfer function G(s) = Y(s)/0(s) as illustrated in the block diagram in fig. 9, 29 [0058] [0058] Here it is assumed, that the mechanical joint dynamics in a local configuration can be approximated by a second order system, like the spring, mass, damper system illustrated in fig. 10 where k is spring stiffness, c is damping coefficient, J is mass moment of inertia, q.(t) is the control joint angle, and q, actual joint angle. [0059] [0059] It is possible to establish the dynamic equation for such a spring, mass, damper system as: eq.17 J4,(t) = k8q(t) + céq(t) where 8q(t) is the joint gear deformation: eq. 18 8q(t) = q(t) Tr qa (t) The dynamic equation in eq. 17 can be presented in block diagram form, as illustrated in fig. 11, where Q.(s) is the Laplace transform of q.(t) and T(s) is the resulting torque, acting on the inertia J. [0060] [0060] The illustrated block diagram of fig. 11 can be reduced by block diagram transformation methods to the joint transfer function G;(s): k c Ga(s) TIP —>eg. 19 Grim i(S)= === = —- joint j( ) Ge(S) — s240s4å [0061] [0061] The transfer function G,(s) describes the relationship between actual joint acceleration Q,(s), and the tangential acceleration Y(s) by a simple scaling, as seen from eq. 11 : (5) eq. 20 G S)==m =T rad r( ) 015) where r is the radius from the joint axis to the accelerometer location. [0062] [0062] It can be assumed that the controller is a type of PID controller. However, this increases the order of the closed loop dynamic system. It is consistently sought to keep the system as a 2nd order system, in order to provide the best basis for input shaping, and to keep the formulation as simple as possible to keep it understandable and to avoid overparameterization during the optimization procedures. Thus, it is assumed that the governing dynamics of the controller can be estimated by a proportional controller, i.e. P control, which does not impact the order of the closed loop system. Should this approximation be too uncertain, then no good fit will be found. If a good fit can be found, then the approximation is OK. Then the controller transfer function of a P controller simply becomes: eq. 21 G(s) = K, where K, is the proportional gain of the controller. [0063] [0063] Typically input shaping methods relies on information about the system dynamic response in the form of natural frequency w, and damping ratio {. These parameters can be obtained from the transfer function G(s). The vibrational properties is governed by the denominator of the transfer function, and can be obtained by comparing to the characteristic second order transfer function, H(s): 2 on . 26 H = ca (5) S2+20Wns+W2 The local natural frequency and damping can be determined by comparing Gioc Cs) in eq. 25 to H(s) in eq. 26 }, such that: 32 [0064] [0064] Step 560 of obtaining the vibration properties of the robot comprises a step 561 of obtaining the transfer function parameters of Gioca(S) which are suitable for the robot in the specific physical configuration. The optimization problem of optimizing G,,.(s) in eq. 25 can be solved with the objective to minimize the model prediction error norm of the model, i.e. [0065] [0065] In step 562 the vibrational properties can be obtained based on transfer function parameters obtained in eq. 27 and eq. 28. [0066] [0066] To summarize the step 453 of obtaining vibrational properties illustrated in fig. 5 illustrates how to obtain the vibrational properties in form of the eigenfrequency w,,j and the damping 7; of the physical configuration of the robot arm based on the motion parameters in form of raw accelerometer measurement, and the target joint angles § and the target joint accelerations § used to excite the robot arm. [0067] [0067] Step 380 of obtaining the inertia-vibration model of the robot arm can based on obtained vibrational parameters can by perfumed based on the considerations presented in the following paragraphs [0068]-[0078]. [0068] [0068] Once the vibrational properties of the robot arm have been obtained for a number of different physical configurations of the robot arm it 33 [0069] [0069] It can be is seen, that the vibrational properties of the robot arm can be estimated based on mass moments of inertia of the robot arm, and the mass moments of inertia can be obtained based on the robot joint angles. [0070] [0070] Fig 12. illustrates how the physical configuration of the robot arm in joint space q are converted into inertia space J using inertia transformations also known as forward kinematics of the robot arm. The obtained inertia J is 34 [0071] [0071] In addition, three other contributions to physical configuration depended vibrational properties are expected; 1) a gear stiffening effect, 2) a configuration damping friction coefficient, and 3) a controller gain adaption. [0072] [0072] A gear stiffening effect is expected to impact the system dynamics such as the vibrational properties of the robot arm. Some robot arms such as collaborative robot arms may be provided with strain wave gears, which have a significant impact on overall impedance of the system. The torque-displacement relationship of a strain-wave gear is usually approximated as a cubic polynomial like {ii.}{iii.}<{iv.}{v.} eq. 32 T~ k,6q + k36¢3 , Where rt is the joint torque, ég is angular deformation, and where k, and k; are polynomial coefficients. Fig. 13 illustrates a torque-displacement curve for a strain wave gear used the base joint of the collaborative robot named UR5e and provided by the company Universal Robots. The top graph illustrates the force displacement curve of the strain wave gear, adjusted according to {v.}. The bottom graph illustrates a stiffness displacement curve for the strain wave gear. It is noticed the figure only serve as an illustrating example. The figure is generated with k; = 42.0 Nm/(rad x 1073) and ks = 2.4 Nm/(rad x 1073)3, which produce a curve nearly identical to the results of {v.}. It is possible to describe the equivalent stiffness coefficient of the gear as: a eq. 33 k = 350 ~ ky + 3k360 [0073] [0073] , which is illustrated as the bottom graph of fig. 13. However, it is not straight forward to use a description in terms of displacement to approximate stiffness, because gear deformation is not known from the configuration of the robot. Thus, it is desired to obtain a description in terms of torque instead, as torque is related to the configuration and mass moment of inertia. By isolating ég in eq. 32 [0074] [0074] The non-linear bending force-displacement relation of beams (like aluminum tube links of the robot) can also be approximated as cubic polynomial{vi.}{vii.}, similar to the strain wave gear. Thus, the stiffening effects of the links will also be captured by eq. 40 without any additional effort. [0075] [0075] Friction estimation is in general a very complex branch of research, and friction in strain-wave gears is no different. The friction torque depends for example non-linearly on velocity, load torque, position, temperature, and history {ii.}{v.}{viii.}{ix.}. The linear ideal 2" order dynamic system G;(s) in eg. 19 has linear viscous damping. However, strain wave gears feature a multitude of friction components, of which several are non-linear, e.g. non- linear viscous friction and torque dependency {ix.}. It is assumed, that the friction torque can be approximated as: eq. 41 Tdamping = —céq eq. 42 = — (co + c,69 + c,6q2)(1 + cylt|) ég c , where c is the linear damping coefficient, 8q is the time-derivative of the gear deflection angle, i.e. the deflection velocity, co, ¢;, and c, are the polynomial coefficients of non-linear viscous friction, and c is the contribution from load 38 [0076] [0076] Fig. 15 illustrates how a reduced natural frequency will lead to increased deflection velocity amplitude 8q,m,.The figure illustrates how two oscillations with identical acceleration amplitudes, but different frequencies, will result in different velocity amplitude. It is found that 6qsmp is inverse proportional to the frequency of oscillation, which means that a reduced frequency leads to higher velocities. It is also seen from eq. 29 that the natural frequency 0, varies with the mass moment of inertia J such that: F 1 1 eq. 43 8qamp X on = AFK EN xf] According to eq. 38 |t] can be seen as proportional to J, whereby c can be rewritten from eq. 42 as: eq. 44 ca (co + crf] + cJ)(1 + cof) , Such that damping variations can also be estimated from mass moment of inertia, J. [0077] [0077] It is expected that the robot controller has some adaptation of gains to ensure a good performance for varying configurations. In configurations with high inertia, a high proportional gain K, will lead to instability. Likewise, in configurations with low inertia, a low proportional gain will provide a poor performance. It is assumed, that robot controller adaption can be approximated this way as: eq. 45 K, = ky/] , Where k, is a constant coefficient, which is scaled by the inverse of / to adjust the gains for varying configuration. [0078] [0078] The inertia-vibration model can be described by inserting eq. 40, eq. 44 and eq. 45 into eq. 29 and eq. 31 as: eq. 46 On + SI +Rp/] (ko + kyJ + kyltal/ (cote Tre, D(A+ce)) eq.47 (= J1+k,/] === 2 (leo J +kg|Tg])s , where J = J, in the base map and J = 7, in the shoulder map. Thus it is desired to fit the parameters ko, k;, kg, ky, co, ¢1, cz and c, for the base and shoulder joint respectively, to obtain a inertia-vibration model of the robot arm. [0079] [0079] Once the vibrational properties and inertia of the robot arm of a plurality of different physical configurations have been obtained (in step 340) an inertia-vibration model can (in step 380) be obtained based on the obtained vibrational properties and inertia of the robot arm. In one embodiment the inertia-vibration model can be obtained by fitting the coefficients of the natural frequency and damping of the robot arm according to eq. 46 and eq. 47 to the obtained vibrational properties and inertia of the robot arm. The parameters can be obtained by using any parameter estimation methods such as "least squares methods” where the best solution is the solution, which results in the smallest sum of squared error. Suitable methods can for instance be The Gauss-Newton method, The Levenberg-Marquardt method, Powell's Dog Leg method, A secant version of the L-M method, A secant version of the Dog Leg method etc. and various commercially available software have implemented such fitting methods and makes it simple to implement and obtain the inertia- vibration mode. [0080] [0080] The method according to the present invention have been validated in an experiment where an inertia-vibration model of a robot arm has been 40 [0081] [0081] Two different algorithms were utilized in order to obtain the vibrational properties of the robot arm at a plurality of different physical configurations. Algorithm 1 ensures that the robot arm is arrange is a plurality of different physical configurations covering the workspace of the robot arm, and Algorithm 2 excites the dynamics of the robot arm by generation of random target motions around the base and shoulder joints and identifies the vibrational properties of the robot arm. “Algorithm 1 Dynamic mapping for robot arm ————— ~~ forv=[0m/4....3n/4ld0 move tool flange to angle V for R=[0 0,4 + 1/24. 0,9] do j=random [3 4 5] Orient joint j randomly Obtain vibrational properties (Algorithm 2) end for end for [0082] [0082] In Algorithm 1 the robot arm places the center of the tool flange in an angle V as illustrated in fig. 16. Then for each value of V, the tool flange is placed in different distances between shoulder axis and center of tool flange. Thereby, the whole workspace of the robot is covered. The mapping with 41 [0083] [0083] In Algorithm 2, the dynamics around the base and shoulder joints, respectively, are excited by a sequence of random bang-coast-bang motions. Here a bang-coast-bang motion denotes a motion with constant joint 42 [0084] [0084] Once the vibrational properties of the robot arm of the plurality of different physical configurations were obtained the coefficients of eq. 46 and eq. 47 were based on the obtained vibrational properties of the robot arm. This process is performed for the base and shoulder, respectively. During data fitting process is realized, that influence from c, and k, were negligible. This was observed from very small numerical values and high solver uncertainty for these parameters. Thus, they have been neglected in the inertia-vibration model of the robot arm and eigenfrequency and damping can thus be mapped using: eq. 48 On + SI +Rp/] (ko + kJ) + 1+ eq. 49 é ~ 1 + ko/] (co DK ce 2 |(ko+kjI) [0085] [0085] First the natural frequency w, , in relation to the base joint around were found by fitting the parameters of: eq. 50 Ono + /1 + kø/Jo | (ko + kjJo)/Jo , Where index {}, refers to the base joint (joint 0). The expression is found by substituting J with J, in eq. 48. Fig. 18 illustrates a graph (illustrated by a solid line) of the natural frequency f, in Hz obtained by: eq.51 fn = on and by fitting the parameters k,, k;, and k, of eq. 50 to the vibrational properties and inertia of different physical configurations of the robot arm illustrated by a cross. It can be seen that the correlation between fitted graph 43 [0086] [0086] A low inertia around the base joint, can be experienced, even though the robot is in a stretched configuration, with reference to the robot configuration in fig. 20. An acceleration in the base joint or the shoulder joint will cause a robot tool flange acceleration in almost the same direction, i.e. y° and y! are nearly collinear, as illustrated in fig. 20. Also, intuitively, a configuration like seen fig. 20 will have a low natural frequency in any direction, including the direction around the base joint. Consequently, it can be assumed that the shoulder inertia could be a better predictor of the natural frequency around the base joint. Then, the coefficients of: eq. 52 Ono = J1+kp/h Ko + kj )/h were identified. In the identification process, it was found that the solution space is floating, due to overparameterization. The solution space is floating because % is dependent on a ratio, which can be found be infinitely many combinations. Thus, k, is fixed at a value of 10000 Nm/rad to encounter the overparameterization, leaving k; and k, to be optimized. Then the damping ratio of vibration around the base joint is found by fitting: eq. 53 or JTF 77 (co+czJo)(1+cc)o) 2 |(ko+kj)1IFRD/I to the data, where ko, k,, and k,, are set to the values found in the frequency identification. The fitted coefficients of the inertia-vibration model in relation to the base joint as defined in eq. 52 and eq. 53 are listed in table 1. Fig. 19 illustrates the base joint natural frequency experimental results (indicated by the crosses) fitted to shoulder joint inertia, where the solid graph is provided based on eq. 52 with the coefficients of table 1. Fig. 21 illustrates the base damping ratio experimental results (indicated by crosses) fitted to shoulder inertia and base inertia, where the solid surface provided based on eq. 53 with the coefficients of table 1. 44 [0087] [0087] A similar identification procedure for the coefficients of the inertia- vibration model of the shoulder joint is performed. Consequently, the natural frequency and damping ratio in relation to the shoulder joint is fitted to: eq. 54 wp = J1+kp/h | (ko + ki) / + 1+ eq. 55 G ~ 1 + ko/h (co ca J1)( Ch) 2 |(ko+kj)1)h The fitted coefficients of the inertia-vibration model in relation to the shoulder joint as defined in of eq. 54 and eg. 55 are listed in table 2. Fig. 22 illustrates the shoulder joint natural frequency experimental results (indicated by the crosses) fitted to shoulder joint inertia, where the solid graph is provided based on eq. 54 with the coefficients of table 2. Fig. 23 illustrates the shoulder damping ratio experimental results (indicated by crosses) fitted to shoulder inertia, where the solid graph is provided based on eq. 55 with the coefficients of table 2. 45 [0088] [0088] The inertia-vibration model can be used to control the robot arm and thereby take the vibrational properties of the robot arm into account when controlling the robot arm, hereby it is possible to reduce vibrations of the robot arm. Fig. 24 illustrates a method of controlling a robot arm for instance like the robot arm illustrated and described in connection with figs. 1 and 2. The method comprise a step 2430 of generating a target motion for the robot arm, a step 2485 of obtaining the vibrational properties of the robot arm based on an inertia- vibration model and a step 2490 of generating a control signal for the robot arm. [0089] [0089] Step 2430 of generating a target motion for the robot arm can be performed as known in the art of robot arm control where a desired motion of the robot arm are provided or programmed by a user; for instance, a user may manually instruct the robot arm to move to a certainty space and/or may program the robot arm to perform certainty movements and the robot controller can then execute the robot program whereby the robot arm performs the desired movements. The target motion can be indicated as the position of a part of the robot arm in relation to a reference point for instance in form of the position of the robot tool flange in relation to the base joints. Also, the target motion can be indicated as a desired position of the robot joints for instance in form at the angular position of the robot joints and their derivatives. For instance, q denotes target position, ¢ denotes target velocity, § denotes target acceleration. [0090] [0090] Step 2485 of obtaining the vibrational properties of the robot arm is performed based on an inertia-vibration model relating to the robot arm, where the inertia-vibration model defines a relationship between the inertia of the robot arm and the vibrational properties of the robot arm. In the illustrated embodiment step 2485 of obtaining the vibrational properties of the robot arm comprises a step 2470 of obtaining the inertia J of the robot arm based on the physical configuration of the robot arm. The inertia of the robot arm can be obtained based on the physical configuration of the robot arm and a kinematic model KoR of the robot arm. For instance, the inertia of the robot arm may be obtained based on the physical configuration of the robot arm and the kinematic model of the robot arm, KoR, where the physical configurations of the robot arm is used as an input to the kinematic model of the robot arm. [0091] [0091] The physical configuration of the robot arm can be obtained in step 2486 of obtaining the physical configuration of the robot arm. The physical configuration of the robot arm can obtain based on the target positions gq of the robot joints. Additionally, or alternatively the physical configuration can be obtained the based on one or more joint sensors providing a sensor signal 220a, 220b, 220f indicating a joint sensor parameter Jsensor,a, Jsensor,b , Jsensorf. For instance the joint sensor may be an encoder indicating the indicating the position of the output flange in relation to the robot joint body of the robot joints. [0092] [0092] In step 2487 the vibrational properties of the robot arm is obtained based on the inertia J of the robot arm and the inertia-vibration model of the robot arm. This can for instance be performed by using eq. 46 and eq. 47 whereby the eigenfrequencies w, and damping ( of the robot arm can be obtained. [0093] [0093] In step 2490 one or more control signals are generated for the robot arm. The control signal can be any signal capable of controlling the joint motors of the robot arm, for instance in form of motor control signals 2233, 223b, 223f indicative of the motor torque Tmotor,a, Tmotor, b, and Tmotort that the joint motors shall provide. The control singles are generated based on the target motion q,4, § and the vibrational properties w,, { of the robot arm. The control signals may for instance be generated by utilizing the so-called input shaping 47 [0094] [0094] In the illustrated embodiment step 2490 of generating the control signals comprises a step 2491 of provide an impulse train based on the vibrational properties of the robot arm, said impulse train comprises a number of impulses and step 2492 of generating the control signal based the target motion and the impulse train. [0095] [0095] The impulse train comprises a number of impulses, having impulse magnitude and an associated impulse delay can for instance be provided using any methods of generating impulse trains used for input shaping for instance as presented disclosed in WO09012040 and {xi.}{xii.} [0096] [0096] Step 2492 can be performed by obtain an input signal for the robot arm based on the target motion and the dynamic model of the robot arm as known in the art of robot arm control. The input signal can then be convoluted with the impulse train resulting in the control signal, for instance as disclosed in WO09012040 and {xi.}{xii.}. [0097] [0097] As an example, the method of controlling a robot arm based on an inertia-vibration model obtained according the present invention have been implemented in a the UR5e robot arm of which the inertia-vibration model have been obtained as described in paragraphs [0080]-[0087]. The UR5e where provided with a control algorithm based on impulse shaping as described in in WO009012040 and {xi.}{xii.}, where the vibrational-properties of the robot arm used for generating the impulse train were obtained based on the inertia- vibration model obtained in paragraphs [0080]-[0087]. [0098] [0098] The effect of the control algorithm was tested according to the test procedure presented in {xi.}. The test motions move the robot arm with a 5 kg payload between test configurations Q,, 02, and Q; with joint space linear motions and the parameters of the test configurations of 01, 0,, and Q; are listed in table 3. Table 3: Parameters of test configurations 01, Q,, and Q; “Parameter = @: Q 03 Unit Base jointange = gq 0 w/2 w/2 rad — Shoulder joint angle au —I —T — —a/2 rad Elbow joint angle q2 0 0 57/6 rad First wrist joint angle q3 —a/2 -mw/2 -—ma/2 rad Second wrist joint angle qa 0 0 0 rad Tool flange joint angle qs 0 0 0 rad Inertia in relation to base joint Jo 973 973 1,12 kgm Inertia in relation to shoulder joint h 925 925 1,58 kgm Eigenfrequency in relation to base joint fao 801 801 220 Hz Damping in relation to base joint Co 0,27 0,27 0,08 - Eigenfrequency in relation to shoulder joint fz1 691 691 19,2 Hz Damping in relation to shoulder joint 4 037 037 014 - [0099] [0099] The robot arm was instructed to move from test configuration Q, to test configuration Q,, from test configuration Q, to test configuration 03, and from test configuration Q; to test configuration Q;. The movement were performed with and without utilizing the control algorithm according to the present invention and the vibrations of the robot tool flange were measured during the movement using the built-in accelerometer in the robot tool flange. Fig. 25 illustrates tool acceleration as a function of time where the solid line illustrates the tool acceleration during moment without the control algorithm and the dotted line illustrates the tool acceleration with the control algorithm. The top graph illustrates the tool accelerations while moving from test configuration Q, to test configuration Q,; the middle graph illustrates the tool 49 [0100] [0100] From both fig. 25 and the results in table 4 it is clear to see, that the proposed methods in combination can reduce the amount of residual vibration in the UR5e robot. Starting with a visual impression of the accelerometer readings in fig. 25 it is seen that the shaped motion has a noticeable delay. However, it is also immediately noticed, that vibrations can be reduced so much, that the resulting level of vibration will be lower. In fact, it seems that the vibrations are reduced to the present level of noise in the application. Thus, it can be concluded, that low frequency mechanical vibrations can be practically suppressed by the methods according to the present invention. [0101] [0101] The amount of residual vibration listed in table 4 confirms, that this is the case for the 10 repetitions of the tested motions. The Q; -» Q, motion, i.e. motion towards higher frequencies, shows a vibration reduction around 75%. It is seen, that motions Q1>0, and 01 — 03, i.e. low frequency end configuration, have a reduced level of vibration by ~ 90%. 50 [0102] [0102] Table 4: Performance of control algorithm, average of 10 Q1 = 0 No algorithm 0 099 With algorithm 137 0,09 Impact -89,5% Q1 = 03 No algorithm o 0,77 With algorithm 49 0,20 Impact -73,6% Q3>01 No algorithm ~~ o 1,24 With algorithm 137 0,12 Impact -90,3% [0103] [0103] The employed method introduces a time-delay in the reference motion, as listed in table 4. Generally, time-delay is not desired in industrial robots, because it decreases productivity. However, it depends on the actual task of the robot. As seen from fig. 25 there is a significant time-delay for all motions, but the robot end-effector comes to a physical standstill at an earlier point in time. Thus, the time-delay pays of, and effectively increases the robot productivity. 51
权利要求:
Claims (23) [1] 1. A method of obtaining the vibrational properties of a robot arm (101), where said robot arm comprises a plurality of robot joints (102a-102f) connecting a robot base (103) and a robot tool flange (104); where at least one of said robot joints comprises: e an output flange (216a,216b,216f) movable in relation to a robot joint body; e a joint motor (217a,217b,217f) configured to move said output flange in relation to said robot joint body; said method comprises the steps of: e setting (340) said robot arm in a plurality of different physical configurations (GCi......Cn); e for each of said physical configurations of said robot arm obtaining (350) the vibrational properties (wi, G) of said robot arm in relation to at least one robot joint; e for each of said physical configurations of said robot arm obtaining (370) the inertia (Ji) of said robot arm in relation to said at least one robot joint; and e obtaining (380) an inertia-vibration model relating to said robot arm, wherein said inertia-vibration model defines a relationship between the inertia of said robot arm and said vibrational properties of said robot arm, where said inertia-vibration model has been obtained based on said obtained vibrational properties of said robot arm in relation to said at least one robot joint and said obtained inertia of said robot arm in relation to said at least one robot joint. [2] 2. The method according to claim 1 wherein for each of said physical configurations of said robot arm said step (350) of obtaining said vibrational properties of said robot arm in relation to said at least one robot joint comprises the steps of: e exciting vibrations of said robot arm by applying a force or torque to said robot arm; 52 DK 2019 01558 A1 e upon said exciting of said vibrations of said robot arm obtaining (452) at least one motion parameter of at least a part of said robot arm; and e obtaining said vibrational properties of said robot arm in relation to said at least one robot joint based on said applied force or torque and said at least one motion parameter. [3] 3. The method according to any one of claims 1-2 wherein for each of said physical configurations of said robot arm said step (350) of obtaining said vibrational properties of said robot arm in relation to said at least one robot joint comprises the steps of: e exciting (451) vibrations of said robot arm by activating the joint motor of said at least one robot joint; e upon said exciting of said vibrations of said robot arm obtaining (452) at least one motion parameter of at least a part of said robot arm; and < obtaining (453) said vibrational properties of said robot arm in relation to said at least one robot joint based on said activation of said joint motor of said at least one robot joint and said at least one motion parameter. [4] 4. The method according to any one of claims 1-3 wherein said step (451) of exciting vibrations of said robot arm comprises a step of: e vibrating said robot arm in relation to a first axis by activating the joint motor of said at least one robot joint; and where said step (452) of obtaining the at least one motion parameter comprises a step of: e obtaining the acceleration of at least a part of said robot arm. [5] 5. The method according to claim 4 where said acceleration of said at least a part of said robot arm are obtained using an accelerometer arranged at said part of said robot arm. 53 DK 2019 01558 A1 [6] 6. The method according to any one of claims 1-5 wherein said inertia of said robot arm in relation to said at least one robot joint is obtained based on the physical configuration of said robot arm and a kinematic model (KoR) of said robot arm. [7] 7. The method according to any one of claims 1-6 wherein said step of obtaining the vibrational properties of said robot arm in relation to at least one robot joint comprises the steps of: e obtaining the vibrational properties of said robot arm in relation to a first robot joint; e obtaining the vibrational properties of said robot arm in relation to a second robot joint; wherein said step of obtaining the inertia of said robot arm in relation to said at least one robot joint comprises the steps of: e obtaining the inertia of said robot arm in relation to said first robot joint; e obtaining the inertia of said robot arm in relation to said second robot joint; and wherein said inertia-vibration model has been obtained based on said obtained vibrational properties of said robot arm in relation to said first robot joint, said obtained vibrational properties of said robot arm in relation to said second robot joint, said obtained inertia of said robot arm in relation to said first robot joint and said obtained inertia of said robot arm in relation to said second robot joint. [8] 8. The method according to claim 7 wherein: e said vibrational properties of said robot arm in relation to said first robot joint are obtained in relation to an axis of movement of said first robot joint; 54 DK 2019 01558 A1 e said vibrational properties of said robot arm in relation to said second robot joint are obtained in relation to an axis of movement of said second robot joint; e said inertia of said robot arm in relation to said first robot joint is obtained in relation to said axis of movement of said first robot joint; e said inertia of said robot arm in relation to said second robot joint is obtained in relation to said axis of movement of said second robot joint; [9] 9. The method according to claim 8 wherein said axis of movement of said first robot joint and said axis of movement of said second axis of said second robot joint are non-parallel in relation to each other. [10] 10. The method according to any one of claims 8-9 wherein said axis of movement of said first robot joint and said axis of movement of said second axis of said second robot joint are perpendicular in relation to each other. [11] 11. The method according to any one of claims 1-10 wherein said first robot joint and constitutes the robot joint closest to said robot base. [12] 12. The method according to any one of claims 7-11 wherein said first robot joint and said second robot joint constitutes the two robot joints closest to said robot base. [13] 13. The method according to any one of claims 1-12 wherein said obtained vibrational properties of said robot arm in relation to said at least one robot joint comprise the eigenfrequencies for said robot arm in relation to said at least one robot joint and the damping ratio of said robot arm in relation to said at least one robot joint. 55 DK 2019 01558 A1 [14] 14. The method according to any one of claims 1-13 wherein said inertia- vibrational model is a 2" order transfer function. [15] 15. The method according to any one of claims 1-14 wherein said step of setting (340) said robot arm in a plurality of different physical configurations comprises at least one of the following steps of: e arranging (340) said robot arm in a plurality of different poses configurations (Pi......Pn); e providing a plurality of different payloads to at least a part of said robot arm. [16] 16. A robot controller configured to control a robot arm, where said robot arm comprises a plurality of robot joints (102a-102f) connecting a robot base (103) and a robot tool flange (104); where at least one of said robot joints comprises: e an output flange (216a,216b,216f) movable in relation to a robot joint body; e a joint motor (217a,217b,217f) configured to move said output flange in relation to said robot joint body; where said robot controller is configured to obtaining an inertia-vibration model of said robot arm the vibrational properties of said robot arm by executing the method according to any one of claims 1-15. [17] 17. A method of controlling a robot arm (101), where said robot arm comprises a plurality of robot joints (102a-102f) connecting a robot base (103) and a robot tool flange (104), where each of said robot joints comprises: e an output flange (216a,216b,216f) movable in relation to a robot joint body; e« a joint motor (217a,217b,217f) configured to move said output flange in relation to said robot joint body; said method comprises the steps of: e generating a target motion for said robot arm; e obtaining the vibrational properties of said robot arm; 56 DK 2019 01558 A1 e generating a control signal for said robot arm based on said target motion and said vibrational properties of said robot arm, said control signal comprises control parameters for said joint motors; e controlling said joint motors based on said control signal; wherein said vibrational properties of said robot arm are obtained based on an inertia-vibration model relating to said robot arm, wherein said inertia- vibrational properties model defines a relationship between the inertia of said robot arm and said vibrational properties of said robot arm, where said inertia- vibration model has been obtained based on obtained vibrational properties of said robot arm in relation to said at least one robot joint and obtained inertia of said robot arm in relation to said at least one robot joint. [18] 18. The method of controlling a robot arm according to claim 17 wherein said step of generating said control signal comprises the step of: e provide an impulse train based on said vibrational properties of said robot arm, said impulse train comprises a number of impulses; e generating said control signal based on said target motion and said impulse train. [19] 19. The method according to any one of claims 17-18 wherein said step of obtaining said vibrational properties of said robot arm comprises the steps of: e obtaining the physical configuration of said robot arm; e obtaining the inertia of said robot arm in relation to at least one robot joint based on said obtained physical configuration of said robot arm and a kinematic model of said robot arm; e obtaining said vibrational properties based on said obtained inertia of said robot arm in relation to said at least one robot joint and said inertia- vibration model of said robot arm. [20] 20. The method according to claim 19 wherein said physical configuration of said robot arm is obtained based on encoder signals indicating the position of said output flange in relation to said robot joint body. 57 DK 2019 01558 A1 [21] 21. The method according to any of claims 19-20 wherein said physical configuration of said robot arm is obtained based on target positions of said robot joints. [22] 22. The method according to any one of claims 17-21 wherein said inertia- vibration model have been obtained based on the method according to any one of claims 1-15. [23] 23. A robot controller for controlling a robot arm (101), where said robot arm comprises a plurality of robot joints (102a-102f) connecting a robot base (103) and a robot tool flange (104), where each of said robot joints comprises: e an output flange (216a,216b,216f) movable in relation to a robot joint body; e a joint motor (217a,217b,217f) configured to move said output flange in relation to said robot joint body; where said robot controller is configured to control said robot arm based on an inertia-vibration model of said robot by executing the method according to any one of claims 17-22. 58
类似技术:
公开号 | 公开日 | 专利标题 US9785138B2|2017-10-10|Robot and robot controller Sharifi et al.2014|Nonlinear model reference adaptive impedance control for human–robot interactions Casadio et al.2006|Braccio di Ferro: a new haptic workstation for neuromotor rehabilitation Van der Linde et al.2002|The HapticMaster, a new high-performance haptic interface JP2009066685A|2009-04-02|Robot device, and control method for robot device Wimboeck et al.2006|Passivity-based object-level impedance control for a multifingered hand US20200171658A1|2020-06-04|Vibration control of systems with configuration dependent dynamics CN109397265A|2019-03-01|A kind of joint type industrial robot dragging teaching method based on kinetic model Gauthier et al.2008|Optimization of a test trajectory for SCARA systems Pedrammehr et al.2018|Evaluation of inverse dynamics of hexarot-based centrifugal simulators DK180673B1|2021-11-25|Method of obtaining vibrational properties of robot arm JP2006075931A|2006-03-23|Controlling method of robot Mo et al.2020|A kind of biomimetic control method to anthropomorphize a redundant manipulator for complex tasks Shang et al.2020|Dual-space adaptive synchronization control of redundantly-actuated cable-driven parallel robots JP6834125B2|2021-02-24|Robot control device, robot control method JPH09123077A|1997-05-13|Rigidity identifying method of robot and its device JP2016221653A|2016-12-28|Robot control device and robot system Veciana et al.2015|Modified adaptive input shaping for maneuvering cranes using a feedback MEM gyroscope with null drift DK180627B1|2021-11-04|Method of suppressing vibrations of a robot arm with external objects JP6834655B2|2021-02-24|Robot load center of gravity position estimation device and robot load center of gravity position estimation method WO2020211914A1|2020-10-22|Method of controlling a robot arm based on adaptive friction JP3558179B2|2004-08-25|Servo control device and servo control method, and robot control device and robot control method using the same Silawatchananai et al.2011|Force control of an upper limb exoskeleton for virtual reality using impedance control Filipovic et al.2016|Cable-suspended CPR-D type parallel robot Winiarski et al.2013|Safe strategy of door opening with impendance controlled manipulator
同族专利:
公开号 | 公开日 DK180673B1|2021-11-25| WO2021136565A1|2021-07-08|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 DE3611336C2|1986-04-04|1988-02-11|Deutsche Forschungs- Und Versuchsanstalt Fuer Luft- Und Raumfahrt Ev, 5300 Bonn, De| DE102006053158A1|2006-11-10|2008-05-15|Kuka Roboter Gmbh|Robot controller, robot and method for controlling a robot| WO2014110682A1|2013-01-18|2014-07-24|Robotiq Inc.|Force/torque sensor, apparatus and method for robot teaching and operation| US9513179B2|2014-01-20|2016-12-06|Good Vibrations Engineering Ltd.|Force moment sensor| KR20200031081A|2017-07-13|2020-03-23|유니버셜 로보츠 에이/에스|Vibration control of configuration-dependent dynamic systems|
法律状态:
2021-07-05| PAT| Application published|Effective date: 20210630 | 2021-11-25| PME| Patent granted|Effective date: 20211125 |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 DKPA201901558A|DK180673B1|2019-12-29|2019-12-29|Method of obtaining vibrational properties of robot arm|DKPA201901558A| DK180673B1|2019-12-29|2019-12-29|Method of obtaining vibrational properties of robot arm| PCT/DK2020/050384| WO2021136565A1|2019-12-29|2020-12-18|Method of obtaining vibrational properties of robot arm| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|